package com.tbit.uqbike.service.business;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tbit.uqbike.object.pojo.UserRidingScoreConfig;
import com.tbit.uqbike.object.pojo.UserRidingScoreLog;
import com.tbit.uqbike.object.pojo.dto.UserRidingScoreModifyDTO;
import com.tbit.common.entity.view.PageResult;
import com.tbit.common.entity.view.Result;

/**
 * @author yee_
 * @version 1.0
 * @date 2023/2/10 13:33
 */
public interface UserRidingScoreConfigService {

    /**
     * 新增信用分规则
     *
     * @param entity 。
     */
    void create(UserRidingScoreConfig entity);

    /**
     * 修改品牌骑行分配置
     *
     * @param entity 。
     */
    void update(UserRidingScoreConfig entity);


    /**
     * 获取品牌骑行分配置
     *
     * @param accountId 品牌id
     * @return 骑行分配置
     */
    Result<UserRidingScoreConfig> findConfigByAccountId(Integer accountId);

    /**
     * 获取用户骑行分记录
     *
     * @param userId 用户id
     * @param page   分页参数
     * @return 。
     */
    Result<PageResult<UserRidingScoreLog>> listRidingScoreLogByUserId(Integer userId, Page<UserRidingScoreLog> page);

    /**
     * 人工修改用户骑行分
     *
     * @param modifyDTO 参数entity
     * @return .
     */
    Result<String> modifyUserRidingScore(UserRidingScoreModifyDTO modifyDTO);

    /**
     * 根据用户id查询骑行分
     *
     * @param userId .
     * @return .
     */
    Result<Integer> getByRidingScoreUserId(Integer userId);
}
